In a hybrid data storage system, hard disk drives (HDDs) and solid state drives (SDDs) are used together to efficiently store data. HDDs are typically the final end point for data (i.e., permanently storing data until a host instructs the data to be deleted), while SSDs are used for caching data (e.g., temporarily storing data that is used by the host on a more frequent basis or temporarily storing data based on other heuristics). One type of cache design that is employed in such hybrid data storage systems is a first-in-first-out (FIFO) cache, in which a data element that is first stored is the first one that is deleted when the FIFO cache becomes full (or is nearing its capacity).
Determining the proper size of the FIFO cache is critical for the performance of such systems. A FIFO cache sized too large may unnecessarily increase the cost of a storage system, while a FIFO cache sized too small may result in many cache misses, increasing the overall time it tasks a host to access the storage system.